
//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"
#include "vector"
#include "unordered_map"

int main() {

    int n;
    while (std::cin >> n ) {
        std::vector<int> buf(n);
        while(n){
            std::cin>>buf[n-1];
            n--;
        }
        int cnt=0;
        //连续个数
        for(int j=1;j<=buf.size();j++){
            //开始位置
            for(int s=0;s<buf.size()-j+1;s++){
                //求和
                int sum=0;
                for(int i=0;i<j;i++){
                    sum+=buf[s+i];
                }
                if(sum%11==0){
                    cnt++;
                }
            }
        }
        printf("%d\n",cnt);
//        printf("%d\n",max1);
    }
//    while(1){}
    return 0;
}